from flask import Blueprint, request, jsonify
from app.service.map_service import MapService
from utils.response_utils import ResponseUtils
# 创建 Blueprint 实例
map = Blueprint('map', __name__)

@map.route('/get_address', methods=['POST'])
def geocode():
    """
    根据经纬度获取地理位置信息
    :return: API 响应数据
    """
    # 从请求参数中获取经纬度
    latitude =  request.get_json().get('latitude')
    longitude = request.get_json().get('longitude')

    # 检查经纬度参数是否存在
    if not latitude or not longitude:
        return jsonify({"error": "Missing latitude or longitude parameter"}), 400

    try:
        # 调用 MapService 的 register_user 方法
        response = MapService.register_user(float(latitude), float(longitude))
        
        # 检查响应是否有效
        if response:
            return ResponseUtils.success(response,code=200)
        else:
            return ResponseUtils.error(message="Failed to get address", code=500)
    except ValueError:
        # 捕获经纬度转换失败的错误
        return ResponseUtils.error(message="Invalid latitude or longitude", code=400)